package repositorios;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import excecoes.FalhaPersistenciaException;

import bd.GerenciadorConexoes;

public abstract class RepositorioAbstrato {
	
	private GerenciadorConexoes gerenciador;
	
	public RepositorioAbstrato(){
		gerenciador = GerenciadorConexoes.getInstancia();
	}
	
	protected Connection encontrarConexao() throws FalhaPersistenciaException {
		return gerenciador.encontrarConexao();
	}
	
	protected int getLastInsertId() throws FalhaPersistenciaException, SQLException{
		
		Connection conn = encontrarConexao(); 
		
		Statement stm = conn.createStatement();
		ResultSet result = stm.executeQuery("SELECT LAST_INSERT_ID()");
		
		return result.getInt("LAST_INSERT_ID()");
	}

}
